home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / s85xx / s8501.d64 / eigenes basic (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  11KB  |  221 lines

  1. 50000 REM **************************
  2. 50010 REM *                        *
  3. 50020 REM *   BEFEHLSERWEITERUNG   *
  4. 50040 REM *   ------------------   *
  5. 50050 REM *                        *
  6. 50060 REM *       1984 BY          *
  7. 50070 REM *                        *
  8. 50080 REM *   G. FOERTSCH          *
  9. 50090 REM *   DUEPPEL-STR. 84      *
  10. 50100 REM *   5100 AACHEN          *
  11. 50110 REM *                        *
  12. 50120 REM *   TEL.: 0241/507569    *
  13. 50130 REM *                        *
  14. 50140 REM **************************
  15. 50150 REM
  16. 50200 REM ZUNAECHST FOLGT EINE ERLAEU-            TERUNG DER AB ZEILE 60860
  17. 50210 REM ALS BEISPIELE AUFGEFUEHRTEN             BEFEHLSERWEITERUNGEN.
  18. 50220 REM                                         BEFEHL (1): GRAFIC
  19. 50230 REM DER HOCHAUFLOESENDE GRAFIK-             MODUS WIRD EINGESCHALTET. DER
  20. 50240 REM GRAFIKSPEICHER BEGINNT BEI              $2000 (DEZ8192).
  21. 50250 REM                                         BEFEHL (2): GOFF
  22. 50260 REM DER GRAFIKMODUS WIRD AUSGE-             SCHALTET.
  23. 50270 REM                                         BEFEHL (3): GCLEAR
  24. 50280 REM DER GRAFIKSPEICHER WIRD GE-             LOESCHT. (FALLS SIE DIESEN
  25. 50290 REM GANZEN REM-RAMSCH ABGETIPPT             HABEN, IST DIESER BEFEHL MIT
  26. 50300 REM AEUSSERSTER VORSICHT ZU GE-             BRAUCHEN, DA DAS PROGRAMM WE-
  27. 50310 REM GEN SEINER LAENGE ZERSTOERT             WIRD!!!)
  28. 50320 REM                                         BEFEHL (4): SCOLOR(PF,HF)
  29. 50330 REM IM VIDEORAM WIRD DIE FARBE GE-          SETZT MIT:
  30. 50340 REM  PF...PUNKTFARBE (0-15)                  HF...HINTERGRUNDFARBE (0-15)
  31. 50350 REM                                         BEFEHL (5): GTEXT
  32. 50360 REM DIESER BEFEHL GESTATTET ES IH-          NEN, TEXT UND GRAFIK ZU
  33. 50370 REM MISCHEN. GTEXT SCHALTET DIESEN          MODUS EIN. MIT GTEXT(X1,X2)
  34. 50380 REM KOENNEN SIE ZWEI PARAMETER              UEBERGEBEN, DIE DIE LAGE DES
  35. 50390 REM GRAFIKFENSTERS AUF DEM BILD-            SCHIRM FESTLEGEN. FUER X1
  36. 50400 REM BZW. X2 DUERFEN NUR WERTE               ZWISCHEN 0 UND 25 GEWAEHLT
  37. 50410 REM WERDEN. BEISPIEL: GTEXT(3,20).          IN DEN ERSTEN 3 BILDSCHIRM-
  38. 50420 REM ZEILEN UND AB ZEILE 20 KANN             TEXT UNTERGEBRACHT WERDEN,
  39. 50430 REM DAZWISCHEN LIEGT DAS GRAFIK-            FENSTER. (SOLLTEN SICH DER
  40. 50440 REM TEXT UND DIE KANTEN DES FEN-            STERS UEBERLAPPEN, MUESSTEN
  41. 50450 REM SIE DAS DATUM IN ZEILE 61441            ETWAS VARIIEREN.)
  42. 50460 REM                                         BEFEHL (6): TEXTOFF
  43. 50470 REM OBEN BESCHRIEBENER MODUS WIRD           AUSGESCHALTET.
  44. 50480 REM
  45. 50490 REM WENN SIE LUST VERSPUEREN, DIE-          SE BEFEHLE AUSZUPROBIEREN,
  46. 50500 REM STARTEN SIE DAS PROGRAMM MIT            RUN 60800 UND INITIALISIEREN
  47. 50510 REM SIE DIE BEFEHLSERWEITERUNG MIT          SYS49260. (AUSGESCHALTET WIRD
  48. 50520 REM DIESELBE DURCH SYS49274.)
  49. 50530 REM UND WENN IHNEN DIE BEFEHLSWOR-          TE NICHT GEFALLEN, KOENNEN
  50. 50540 REM SIE DIESE AB ZEILE 60860 OHNE           BEDENKEN AENDERN. (ACHTEN SIE
  51. 50550 REM DARAUF, DASS SIE DIE ROUTINEN           DURCH GOFF BZW. TEXTOFF AUS-
  52. 50560 REM SCHALTEN, INSBESONDERE DANN,            FALLS SIE BEABSICHTIGEN, DIE
  53. 50570 REM DATEN ALS FILE ZU SPEICHERN.)           *****************************
  54. 50580 REM ERLAEUTERUNGEN                          --------------
  55. 50590 REM ZU JEDEM BEFEHL, DEN SIE NUN            DEFINIEREN WOLLEN, GEHOEREN
  56. 50600 REM DREI DINGE:                             (1) DAS BEFEHLSWORT,
  57. 50610 REM (2) DIE ENTSPRECHENDE MASCHI-           NENROUTINE,
  58. 50620 REM (3) DIE ADRESSE DIESER ROU-             TINE.
  59. 50630 REM
  60. 50640 REM ZU (1):                                 DIE BUCHSTABEN EINES BEFEHLS-
  61. 50650 REM WORTES WERDEN ALS ASCII-CODES           GESPEICHERT, WOBEI ZU BEACH-
  62. 50660 REM TEN IST, DASS IM LETZTEN BUCH-          STABEN DAS HOECHSTE BIT GE-
  63. 50670 REM SETZT SEIN MUSS. DIE TABELLE            DER BEFEHLSWORTE WIRD MIT EI-
  64. 50680 REM NER NULL ABGESCHLOSSEN. AB              ZEILE 60800 FINDEN SIE EINE
  65. 50690 REM BASIC-ROUTINE, DIE IHNEN DIE-           SE ARBEIT ABNIMMT. ERGAENZEN
  66. 50700 REM SIE DIE TABELLE DER BEFEHLS-            WORTE AB ZEILE 60860 MIT IH-
  67. 50710 REM REN BEFEHLEN UND ERHOEHEN SIE           DIE VARIABLE X JE NACH ANZAHL
  68. 50720 REM DER BEFEHLE.
  69. 50730 REM
  70. 50740 REM ZU (2):                                 DER SPEICHERBEREICH VON $C000
  71. 50750 REM BIS EINSCHLIESSLICH ZU DER              ADRESSE, IN DER SICH DIE AB-
  72. 50760 REM SCHLUSSNULL DER BEFEHLSWORT-            TABELLE BEFINDET, IST FUER
  73. 50770 REM SIE TABU UND EBENSO DERJENIGE           VON $CD00 BIS $CE41, FALLS
  74. 50780 REM SIE DIE BEFEHLE GRAFIC BIS              TEXTOFF VERWENDEN WOLLEN. AN-
  75. 50790 REM SONSTEN BESTEHEN NUR DIE NOR-           MALEN EINSCHRAENKUNGEN. SOL-
  76. 50792 REM LEN DIE MASCHINENPROGRAMME IN           DATAZEILEN (AM BESTEN AB ZEI-
  77. 50794 REM LE 61700) GESPEICHERT WERDEN,           DANN MUESSEN SIE NOCH EINEN
  78. 50796 REM ENTSPRECHENDEN BASIC-LADER AB           ZEILE 60900 SCHREIBEN.
  79. 50800 REM
  80. 50810 REM ZU (3):                                 DIE ADRESSEN DER MASCHINEN-
  81. 50820 REM ROUTINEN WERDEN IN LO- UND              HI-BYTE AUFGESPALTEN UND IN
  82. 50830 REM TABELLE DER BEFEHLSADRESSEN             AB ZEILE 60000 EINGETRAGEN.
  83. 50840 REM DABEI IST WICHTIG, DASS VON             DER EIGENTLICHEN ADRESSE EINE
  84. 50850 REM EINS ABGEZOGEN WIRD!!! DAS              EINTRAGEN DER BEFEHLSWORTE
  85. 50860 REM UND DER BEFEHLSADRESSEN IN DIE          ENTSPRECHENDEN TABELLEN ER-
  86. 50870 REM FOLGT PARALLEL!!! DIE ADRESSE           VON GCLEAR ALS DRITTER BEFEHL
  87. 50880 REM Z.B. IST IN DIE 5. UND 6.               STELLE DER TABELLE EINGETRA-
  88. 50890 REM GEN WORDEN, DAVOR BEFINDEN              SICH DIE ADRESSEN VON GRAFIC
  89. 50900 REM UND GOFF. RECHENREGEL:                  (NR. DES BEFEHLS)*2 - 1 GIBT
  90. 50910 REM DIE STELLE AN, IN DIE DAS LO-           BYTE EINGETRAGEN WIRD, IN DIE
  91. 50920 REM DARAUFFOLGENDE STELLE WIRD DAS          HI-BYTE EINGETRAGEN. (UEBER-
  92. 50925 REM SCHREIBEN DER SICH DORT BEFIN-          DENDEN DATEN!)
  93. 50930 REM
  94. 50940 REM WENN SIE ALLE PUNKTE GENAU BE-          ACHTET HABEN, WIRD DIE BE-
  95. 50950 REM FEHLSERWEITERUNG, WIE OBEN              SCHON ERWAEHNT WURDE, MIT
  96. 50960 REM SYS(49260) INITIALISIERT.               (AUSSCHALTEN MIT SYS(49274).)
  97. 50970 REM *****************************
  98. 50980 REM DIESE NEU DEFINIERTEN BEFEHLE           SIND WIE BASICBEFEHLE ZU
  99. 50990 REM HANDHABEN. SIE KOENNEN INSGE-           SAMT 51 BEFEHLE DEFINIEREN,
  100. 51000 REM WELCHE DANN DIE CODES 204 BIS           254 HABEN, D.H.,DASS SIE DIE-
  101. 51010 REM SE BEFEHLE AUCH POKEN KOENNEN.          WEITERHIN KOENNEN SIE DIE BE-
  102. 51020 REM FEHLE BELIEBIG ABKUERZEN, WO-           BEI ALLERDINGS ZWEIDEUTIGKEI-
  103. 51030 REM TEN VERMIEDEN WERDEN SOLLTEN.           BSP.: SCOLOR, CODE 207, MOEG-
  104. 51040 REM LICHE ABKUERZUNG: SC<SHIFTO>;                 RETURN, CODE 142, MOEG-
  105. 51050 REM LICHE ABKUERZUNG: RET<SHIFTU>.
  106. 60000 REM
  107. 60005 REM *** BEFEHLSADRESSEN
  108. 60006 REM *** $C000 - $C065
  109. 60007 REM
  110. 60010 DATA255,204,008,205,024,205,044,205,171,205,016,206:REM ADRESSEN DER
  111. 60011 REM BEFEHLE GRAFIC BIS TEXTOFF
  112. 60020 DATA182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
  113. 60030 DATA182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
  114. 60040 DATA182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
  115. 60050 DATA182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
  116. 60060 DATA182,163,182,163,182,163,182,163,182,163,182,163,182,163,182,163
  117. 60070 DATA182,163,182,163,182,163,182,163,182,163
  118. 60100 REM
  119. 60105 REM *** ZEIGER
  120. 60106 REM *** $C066 - $C06B
  121. 60107 REM
  122. 60110 DATA252,192,128,192,187,192
  123. 60200 REM
  124. 60205 REM *** INITIALISIEREN
  125. 60206 REM *** $C06C - $C079
  126. 60207 REM
  127. 60210 DATA120,162,005,189,102,192,157,004,003,202,016,247,088,096
  128. 60300 REM
  129. 60305 REM *** AUSSCHALTEN
  130. 60306 REM *** $C07A - $C07F
  131. 60307 REM
  132. 60310 DATA120,032,083,228,088,096
  133. 60400 REM
  134. 60405 REM *** ROUTINE (1)
  135. 60406 REM *** $C080 - $C0BA
  136. 60407 REM
  137. 60410 DATA016,050,201,255,240,046,036,015,048,042,201,204,048,042,056,233,203
  138. 60420 DATA170,132,073,160,255,234,202,240,010,234,200,185,205,193,016,250,048
  139. 60430 DATA244,234,200,185,205,193,048,006,032,071,171,208,245,234,076,239,166
  140. 60440 DATA234,076,243,166,234,076,036,167
  141. 60500 REM
  142. 60505 REM *** ROUTINE (2)
  143. 60506 REM *** $C0BB - $C0FB
  144. 60507 REM
  145. 60510 DATA032,115,000,032,196,192,076,174,167,240,012,233,128,144,012,201,035
  146. 60520 DATA176,012,076,247,167,234,076,043,168,234,076,165,169,234,201,075,048
  147. 60530 DATA006,208,008,076,018,168,234,076,008,175,234,201,127,240,248,056,233
  148. 60540 DATA076,010,168,185,001,192,072,185,000,192,072,076,115,000
  149. 60600 REM
  150. 60605 REM *** ROUTINE (3)
  151. 60606 REM *** $C0FC - $C1D1
  152. 60607 REM
  153. 60610 DATA166,122,160,004,132,015,189,000,002,016,007,201,255,240,065,232,208
  154. 60620 DATA244,201,032,240,058,133,008,201,034,240,089,036,015,112,048,201,063
  155. 60630 DATA208,004,169,153,208,040,201,048,144,004,201,060,144,032,076,150,193
  156. 60640 DATA132,113,160,000,132,011,136,134,122,202,200,232,189,000,002,056,249
  157. 60650 DATA158,160,240,245,201,128,208,048,005,011,164,113,232,200,153,251,001
  158. 60660 DATA185,251,001,240,054,056,233,058,240,004,201,073,208,002,133,015,056
  159. 60670 DATA233,085,208,156,133,008,189,000,002,240,223,197,008,240,219,200,153
  160. 60680 DATA251,001,232,208,240,166,122,230,011,200,185,157,160,016,250,185,158
  161. 60690 DATA160,208,180,189,000,002,016,190,153,253,001,198,123,169,255,133,122
  162. 60700 DATA096,132,113,160,000,132,011,136,134,122,202,200,232,189,000,002,056
  163. 60710 DATA249,205,193,240,245,201,128,208,008,005,011,024,105,076,076,074,193
  164. 60720 DATA166,122,230,011,200,185,204,193,016,250,185,205,193,208,220,164,113
  165. 60730 DATA166,122,076,047,193
  166. 60800 REM
  167. 60805 REM *** BEFEHLE SPEICHERN
  168. 60806 REM
  169. 60810 GOSUB60860
  170. 60820 Z=49613:L=0
  171. 60830 FORK=1TOX:L=LEN(A$(K)):FORI=0TOL-2:POKEZ+I,ASC(MID$(A$(K),I+1,1)):NEXT
  172. 60840 POKEZ+L-1,ASC(RIGHT$(A$(K),1))OR128:Z=Z+L:NEXT:POKEZ,0
  173. 60850 PRINT"[147]":GOSUB60900:PRINT"DATEN GESPEICHERT!":PRINT"SYS(49260)":END
  174. 60860 REM *** TABELLE DER BEFEHLSWORTE
  175. 60861 REM
  176. 60862 X=6:DIMA$(X):IFX>51THENEND
  177. 60863 A$(1)="GRAFIC": REM CODE 204
  178. 60864 A$(2)="GOFF":   REM CODE 205
  179. 60865 A$(3)="GCLEAR": REM CODE 206
  180. 60866 A$(4)="SCOLOR": REM USW.
  181. 60867 A$(5)="GTEXT"
  182. 60868 A$(6)="TEXTOFF"
  183. 60890 RETURN
  184. 60900 REM *** SPEICHERUNG DER DATEN
  185. 60901 REM
  186. 60905 Z=49152
  187. 60906 FORI=0TO460:READX:POKEZ+I,X:NEXT
  188. 60910 Z=52480
  189. 60911 FORI=0TO321:READX:POKEZ+I,X:NEXT
  190. 60990 RETURN
  191. 61000 REM *** GRAFIC ($CD00)
  192. 61010 DATA169,024,160,059,162,096,076,015,205
  193. 61100 REM *** GOFF ($CD09)
  194. 61110 DATA169,021,160,027,162,169,141,024,208,140,017,208,142,000,205,096
  195. 61200 REM *** GCLEAR ($CD19)
  196. 61210 DATA169,000,162,032,133,253,134,254,168,145,253,200,208,251,230,254,202
  197. 61220 DATA208,246,096
  198. 61300 REM *** SCOLOR ($CD2D)
  199. 61310 DATA201,040,240,006,076,008,175,076,072,178,032,155,183,224,016,176,246
  200. 61320 DATA138,010,010,010,010,133,251,032,241,183,224,016,176,232,138,005,251
  201. 61330 DATA133,251,032,247,174,174,169,205,032,240,233,165,251,160,039,145,209
  202. 61340 DATA136,016,251,232,236,170,205,048,238,096
  203. 61400 REM *** GTEXT ($CD6A)
  204. 61410 DATA173,025,208,141,025,208,048,007,173,013,220,088,076,049,234,173
  205. 61420 DATA018,208,205,168,205,176,019,169,024,160,059,141,024,208,140,017,208
  206. 61430 DATA173,168,205,141,018,208,076,188,254,169,021,160,027,141,024,208
  207. 61440 DATA140,017,208,173,167,205,141,018,208,076,188,254,000,255,000,025
  208. 61441 DATA050:REM RASTERZEILENANFANG
  209. 61445 REM EINSPRUNG ($CDAC)
  210. 61450 DATA240,004,201,040,240,047,120,169,106,141,020,003,169,205,141,021,003
  211. 61460 DATA169,000,141,018,208,173,017,208,041,127,141,017,208,169,129,141,026
  212. 61470 DATA208,169,096,141,178,205,169,120,141,017,206,032,121,000,088,096,076
  213. 61475 DATA072,178,032,155,183
  214. 61480 DATA224,026,176,246,134,251,032,241,183,224,026,176,237,134,252,032,247
  215. 61490 DATA174,166,251,228,252,176,226,162,001,181,251,157,169,205,010,010,010
  216. 61500 DATA024,109,171,205,157,167,205,202,016,238,096
  217. 61600 REM *** TEXTOFF ($CE11)
  218. 61610 DATA096,169,049,160,234,141,020,003,140,021,003,169,096,141,017,206,169
  219. 61620 DATA000,160,025,141,169,205,140,170,205,160,255,141,167,205,140,168,205
  220. 61630 DATA141,026,208,169,120,141,178,205,169,024,032,002,205,088,096
  221.